package com.regexs;

import org.junit.*;

/**
 * 单元测试学习
 */
public class units {

    // 全局只会执行一次，而且是第一个运行
    @BeforeClass
    public static void first() {
        // @BeforeClass 定义的方法只能是 静态方法 static
        System.out.println("全局只会执行一次，而且是第一个运行的");
    }

    @Before
    public void b() {
        // 执行每一个单元测试之前会执行
        System.out.println("在每一个单元测试执行之前运行");
    }

    @Test
    public void go() {
        System.out.println("单元测试1");
    }

    @Test
    public void go2() {
        System.out.println("单元测试2");
    }

    @Test
    @Ignore
    public void go3() {
        // @Ignore 添加该注解以后，该单元测试直接别忽略
        System.out.println("单元测试3");
    }

    @After
    public void a() {
        System.out.println("在每一个单元测试执行结束后运行");
    }

    @AfterClass
    public static void afters() {
        // 全局只会执行一次，而且是最后一个运行。
        // @AfterClass 定义的方法只能是静态方法
        System.out.println("所有单元测试结束后运行，只运行一次");
    }

    @Test(timeout = 5000,expected = NullPointerException.class)
    public void work() {
        // timeout 超时设置为 5000 5秒
        // expected = NullPointerException.class 忽略此异常
    }
}
